import java.util.Arrays;

/*
 * @lc app=leetcode.cn id=1047 lang=java
 *
 * [1047] 删除字符串中的所有相邻重复项
 */

// @lc code=start
class Solution {
    // 运用栈，原地进行入栈出栈，效率较高
    public String removeDuplicates(String S) {
        int top = 0;
        char[] t = S.toCharArray();
        for(char c : t){
            if( top == 0 || t[top-1] != c){
                t[top++]=c;
            }else{//栈顶top-1和这个元素相等
                top--;//栈顶元素出栈
            }
        }
        return new String(t, 0, top-1);//有这个额外的构造方法。
        // return new String(t).substring(0,top);
    }
}
// @lc code=end

